# 字符串
字符串方法,都不会改变原始值!!!
var str="hello world";
<!-- 查找 -->
str[1] //e ie8+,返回给定位置的字符 (只读方法,赋值无效)
str.charAt(1) //e 返回给定位置的字符
str.charCodeAt(1) //101 返回给定位置字符的Unicode编码
String.fromCharcode(code) //将Unicode编码转为字符,与 charCodeAt 相反
str.indexOf(str1[,start]) //返回字符(串)首次出现的位置,未查到返回-1,从左向右查 (lastIndexOf是从右向左)(参数只能是字符串,不能是正则)
str.match(String/Reg) //返回存放匹配结果的数组 (参数可为字符串或正则) Reg 尽量带着 g 标识,否则获得数据比较怪异
str.search(String/Reg) //返回匹配字符(串)首次出现的位置,未查到返回-1 (参数是字符串或正则) 会忽略 Reg 中的 g,总是返回首次出现的位置
<!-- 拼接 -->
str.concat(str1[,str2 ...]) //返回拼接后的字符串
<!-- 截取 -->
str.slice(start[,end]) //返回截取字符串 (参数为负数时,从结尾开始,这是与substring的唯一区别)
str.substring(start[,end]) //返回截取字符串 (参数为负数时,从0开始,这是与slice的唯一区别)
str.substr(start[,length]) //返回截取字符串 (length为负时,返回空)
<!-- 替换 -->
str.replace(str1/Reg, str2) //返回替换后的字符串 (第一个参数是查找的字符串或正则,第二个参数是要替换的字符串)
<!-- 转数组 -->
str.split(separator[,len]) //返回分隔后的数组 (第一个参数是分隔符,可以是字符串或正则,第二个参数可选,是数组大小)
<!-- 大小写 -->
str.toLowerCase() //返回转为小写的字符串
str.toUpperCase() //返回转为大写的字符串
<!-- 去空格 -->
str.trim() //返回删除首末空格的字符串
<!------------------------ ES6 新增 ------------------------->
str.includes(str1[,start]) //返回布尔值,表示是包含参数字符串 (第二个参数表示开始搜索位置)
str.startsWith(str1[,start]) //返回布尔值,表示参数字符串是否在开头 (第二个参数表示开始搜索位置)
str.endsWith(str1[,end]) //返回布尔值,表示参数字符串是否在结尾 (第二个参数表示结束搜索位置,即只在 end 之前搜索)
str.repeat(n) //返回重复n次的字符串
str.padStart(len, str1) //返回在头部补全的字符串 (len为补全后长度,str1为用于补全的字符串)
str.padEnd(len, str1) //返回在尾部补全的字符串 (len为补全后长度,str1为用于补全的字符串)
# 数组
⭐️表示该方法会改变原数组,称为“变异方法”;其它方法不会改变原数组,称为“非变异方法”
var arr = ['a', 'b', 'c', 'd', 'e']
<!-- 增、删、改、查 -->
arr[1] //查询、读取
arr[5] = 'e' //增加
arr[1] = 'm' //修改
arr.indexOf(item[,start]) //返回元素首次出现的位置,未查到返回-1,从左向右查 (lastIndexOf是从右向左)
arr.push('xx') //尾部插入参数字符串,返回数组新的长度,会改变原数组⭐️
arr.pop() //尾部删除一个元素,返回删除的元素,会改变原数组⭐️
arr.unshift('xx') //头部插入参数字符串,返回数组新的长度,会改变原数组⭐️
arr.shift() //头部删除一个元素,返回删除的元素,会改变原数组⭐️
arr.sort() //返回排序后的数组 (转换成ASCII码进行对比),会改变原数组⭐️
arr.reverse() //返回顺序颠倒的数组,会改变原数组⭐️
arr.splice(start,deleteNum,…items) //数组万能方法(插入、删除、替换),返回删除的元素,会改变原数组⭐️
arr.slice(start[,end]) //返回子数组(slice(0)可实现复制数组)
<!-- 转字符串 -->
arr.join([separator]) //返回拼接后的字符串,分隔符参数可选
arr.toString() //返回逗号拼接的字符串
<!-- 拼接 -->
arr.concat(arr1[,arr2 ...]) //返回拼接后的数组
arr.every(function) //返回布尔值,每一项都符合function,则为true,否则false
arr.some(function) //返回布尔值,只要有符合function的项,则为true,否则false
arr.filter(function) //返回符合function的新数组
arr.flat(depth) //展开多维数组(depth为展开深度,默认为1),返回新数组 注:arr.flat()可删除空元素
arr.flatMap(function) //展开多维数组(depth为1),并操作每个元素,返回新数组
arr.forEach(function) //遍历每个元素,无返回值
arr.map(function) //返回每个元素执行function后的新数组
arr.reduce(function) //依次遍历每个元素,执行function(累计器,当前元素),返回单个值
Array.isArray(arr) //判断arr是不是数组,返回布尔值
<!------------------------ ES6新增 ------------------------->
arr.copyWithin(target[,start][,end]) //读取start至end的元素,从target开始替换元素,返回新数组,会改变原数组⭐️
arr.find(function) //返回第一个符合function条件的元素,若无则返回undefined
arr.findIndex(function) //返回第一个符合function条件的元素位置,若无则返回-1
arr.includes(item[,start]) //返回布尔值,表示是否包含某元素 (第二个参数表示开始搜索位置)
arr.fill(item[,start][,end])//用给定的元素item,填充数组的start至end位置,会改变原数组⭐️
arr.keys() //遍历数组,返回元素为索引值的可遍历对象
arr.values() //遍历数组,返回元素为元素值的可遍历对象
arr.entries() //遍历数组,返回元素为键值对的可遍历对象
Array.from(obj) //用于将“类数组”、可遍历对象转换为数组
Array.of(item1,item2,...) //用于将一些元素,组装成数组
← 多学一点点 执行上下文、作用域以及闭包 →